package upcweb.dao;


import java.sql.*;
import java.util.ArrayList;

import upcweb.modelo.ClsResponsableFamilia;
import upcweb.modelo.ClsTipoDocumento;

public class ResponsableFamiliaDAO {	
	
	public ArrayList<ClsTipoDocumento> ListarTipoDocumento(){								
		ArrayList<ClsTipoDocumento> arrTipoDoc = new ArrayList<ClsTipoDocumento>();
		ClsTipoDocumento objEntTipoDoc ;		
		try {
			
			CallableStatement oProc = ConexionDAO.newConexion().prepareCall("{ call sp_BuscarTipoDocumento() }");			
								
			ResultSet rsTipoDoc = oProc.executeQuery();
								 
			while(rsTipoDoc.next()){
				objEntTipoDoc = new ClsTipoDocumento();				
				objEntTipoDoc.setCo_tipo_documento(rsTipoDoc.getInt(1));
				objEntTipoDoc.setNo_tipo_documento(rsTipoDoc.getString(2));											
				arrTipoDoc.add(objEntTipoDoc);	
			}	
		} catch (Exception e) {
			
		}		
		return arrTipoDoc;	
		
	}

	public ArrayList<ClsResponsableFamilia> BuscarResponsableFamilia(ClsResponsableFamilia clRespFam){								
		ArrayList<ClsResponsableFamilia> olstRespFam = new ArrayList<ClsResponsableFamilia>();
		ClsResponsableFamilia oRespFam = null;
		try {
			CallableStatement oProc = ConexionDAO.newConexion().prepareCall("{ call sp_BuscarResponsableFamilia(?,?,?,?,?,?,?,?) }");
			oProc.setInt(1, clRespFam.getCo_responsable());
			oProc.setInt(2, clRespFam.getCo_tipo_documento());
			oProc.setString(3, clRespFam.getNu_documento().trim());
			oProc.setString(4, clRespFam.getNo_responsable().trim());
			oProc.setString(5, clRespFam.getApe_paterno().trim());
			oProc.setString(6, clRespFam.getApe_materno().trim());
			oProc.setString(7, clRespFam.getNo_correo().trim());			
			oProc.setString(8, clRespFam.getFl_activo().trim());
						
			ResultSet rsRespFam = oProc.executeQuery();
			while(rsRespFam.next()){
				oRespFam = new ClsResponsableFamilia();
				oRespFam.setCo_responsable(rsRespFam.getInt(1));
				oRespFam.setCo_tipo_documento(rsRespFam.getInt(2));				
				oRespFam.setNo_tipo_documento(rsRespFam.getString(3));
				oRespFam.setNu_documento(rsRespFam.getString(4));
				oRespFam.setNo_responsable(rsRespFam.getString(5));
				oRespFam.setApe_paterno(rsRespFam.getString(6));
				oRespFam.setApe_materno(rsRespFam.getString(7));
				oRespFam.setCo_sexo(rsRespFam.getString(8));
				oRespFam.setNo_correo(rsRespFam.getString(9));
				oRespFam.setNu_celular(rsRespFam.getString(10));
				oRespFam.setTx_direccion(rsRespFam.getString(11));
				oRespFam.setFl_activo(rsRespFam.getString(12));
				oRespFam.setNo_password(rsRespFam.getString(13));
				oRespFam.setNo_usuario(rsRespFam.getString(14));
				
				olstRespFam.add(oRespFam);
			}			
						
			return olstRespFam;
				
		} catch (Exception e) {
			
		}
		return olstRespFam;			
	}
	
	public String MantResponsableFamilia(String opcion, ClsResponsableFamilia clRespFam){		
		try {						
			CallableStatement oProc = ConexionDAO.newConexion().prepareCall("{ call sp_MantResponsableFamilia(?,?,?,?,?,?,?,?,?,?,?,?,?,?) }");
			oProc.setString(1, opcion);
			oProc.setInt(2, clRespFam.getCo_responsable());
			oProc.setInt(3, clRespFam.getCo_tipo_documento());
			oProc.setString(4, clRespFam.getNu_documento().trim());
			oProc.setString(5, clRespFam.getNo_responsable().trim());
			oProc.setString(6, clRespFam.getApe_paterno().trim());
			oProc.setString(7, clRespFam.getApe_materno().trim());
			oProc.setString(8, clRespFam.getNo_correo().trim());
			oProc.setString(9, clRespFam.getNo_password());
			oProc.setString(10, clRespFam.getCo_sexo().trim());
			oProc.setString(11, clRespFam.getNu_celular().trim());
			oProc.setString(12, clRespFam.getTx_direccion().trim());
			oProc.setString(13, clRespFam.getFl_activo().trim());
			oProc.setString(14, clRespFam.getNo_usuario().trim());
						
			String mensaje = "";		
									
			ResultSet rs = oProc.executeQuery();
			while(rs.next())
				mensaje = rs.getString(1);				
			
			System.out.println(mensaje);
			
			return mensaje;
		} catch (Exception e) {
			return e.getMessage();
		}
	}
	
}
